SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[spactualizarcursadas]

@idcursada int,
@Carrera int = null,
@Curso varchar (2) = null,
@AnioLectivo int = null,
@EspacioCurricular int = null,
@Asignatura int = null,
@Aprobo varchar(1) = null,
@Promedio float = null,
@Conducta int = null,
@Inasistencias int = null,
@Tardanzas int = null,
@Sanciones int = null,
@Alumno int = null,
@PorcInasistencias numeric = null,
@Estado varchar(10) = null,
@Division int = null,

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion
@ABM int
AS
SET NOCOUNT ON
declare @error int
declare @mensaje int
declare @mess varchar(200)
select @mess = 'S'

--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end

Begin transaction
if exists (Select * from tb_cursadas where Alumno = @Alumno and AnioLectivo = @AnioLectivo and idcursada = @Idcursada) begin
set @ABM = 3
end
else begin
set @ABM = 1
end


if @ABM = 3 begin

UPDATE tb_cursadas
SET Carrera = Carrera,Curso =Curso ,AnioLectivo =  @AnioLectivo,EspacioCurricular = EspacioCurricular,Asignatura = Asignatura,Aprobo = @Aprobo,Promedio = Promedio,Conducta = Conducta,Inasistencias = Inasistencias,Tardanzas = Tardanzas,Sanciones = Sanciones,Alumno = Alumno,porcInasistencias = porcInasistencias,Estado = @Estado,Division = Division
where Alumno = @Alumno and AnioLectivo = @AnioLectivo and idcursada= @idcursada
			Select @mensaje = 2,@mess =  'La asignatura ha sido Aprobada'
			goto salir
			
if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_cursadas FROM  tb_cursadas WHERE  Alumno = @Alumno and AnioLectivo = @AnioLectivo and Carrera = @Carrera

			
		end
---------- Fin Cursadas----------------------



Select @Error = @@ERROR
If @Error <> 0
	GOTO SALIR
salir:
if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
select @mess as messenger
GO
